package org.jeecg.modules.xxgx.spgl.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelVerify;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 商品
 * @Author: jeecg-boot
 * @Date:   2023-08-21
 * @Version: V1.0
 */
@Data
@TableName("cs_xx_product")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cs_xx_product对象", description="商品")
public class CsXxProduct implements Serializable {
    private static final long serialVersionUID = 1L;

	/**编号*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "编号")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**租户编号*/
    @ApiModelProperty(value = "租户编号")
    private Integer tenantId;
    /**企业主键*/
    @ApiModelProperty(value = "企业主键")
    private String companyId;
	/**产品分类*/
	@Excel(name = "产品分类", width = 15)
    @ApiModelProperty(value = "产品分类")
    private String spfl;
	/**商品代码*/
	@Excel(name = "商品代码", width = 15)
    @ApiModelProperty(value = "商品代码")
    private String spdm;
	/**商品名称*/
	@Excel(name = "商品名称", width = 15)
    @ExcelVerify(notNull = true)
    @ApiModelProperty(value = "商品名称")
    private String spmc;
	/**规格型号*/
	@Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    private String ggxh;
	/**计量单位*/
	@Excel(name = "计量单位", width = 15)
    @ApiModelProperty(value = "计量单位")
    private String jldw;
	/**含税单价*/
	@Excel(name = "含税单价", width = 15)
    @ApiModelProperty(value = "含税单价")
    private BigDecimal hsdj;
	/**不含税价*/
	@Excel(name = "不含税单价", width = 15)
    @ApiModelProperty(value = "不含税单价")
    private BigDecimal bhsdj;
	/**税收编码*/
	@Excel(name = "税收编码", width = 15)
    @ApiModelProperty(value = "税收编码")
    private String spbm;
	/**税收简称*/
	@Excel(name = "税收简称", width = 15)
    @ApiModelProperty(value = "税收简称")
    private String spssjc;
	/**税率*/
	@Excel(name = "税率", width = 15)
    @ApiModelProperty(value = "税率")
    private BigDecimal tax;

    /**优惠政策标识*/
    @Excel(name = "优惠政策标识", width = 15)
    @ApiModelProperty(value = "优惠政策标识")
    private String yhzcbs;

    /**零税率标识*/
    @Excel(name = "免税类型", width = 15)
    @ApiModelProperty(value = "零税率标识")
    private String lslbs;

    /**增值税特殊管理*/
    @Excel(name = "优惠政策", width = 15)
    @ApiModelProperty(value = "增值税特殊管理")
    private String zzstsgl;

    /**共享标志*/
    @Excel(name = "共享标志", width = 15)
    @ApiModelProperty(value = "共享标志")
    private String gxbz;
}
